SUBSCRIBE_USERINFO_LIST

Kimi.Huang vor 5 Jahren
Ursprung
Commit
41754d7903
3 geänderte Dateien mit 14 neuen Zeilen und 0 gelöschten Zeilen
  1. 8 0
      kodo/oauth_settings.py
  2. 4 0
      kodo/settings.py
  3. 2 0
      utils/redis/rkeys.py

+ 8 - 0
kodo/oauth_settings.py

@@ -45,6 +45,8 @@ def DJANGO_WE_MESSAGE_CALLBACK_FUNC(request, data, decrypted=None):
45 45
 def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None):
46 46
     """ WeChat Component Message Callback Func """
47 47
     from account.models import UserInfo
48
+    from utils.redis.connect import r
49
+    from utils.redis.rkeys import SUBSCRIBE_USERINFO_LIST
48 50
 
49 51
     logger.info(appid)
50 52
     logger.info(data)
@@ -63,6 +65,12 @@ def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None):
63 65
             UserInfo.objects.using('fujifilm').filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode)
64 66
         elif event == 'user_del_card':
65 67
             UserInfo.objects.using('fujifilm').filter(memberusercardcode=memberusercardcode).update(has_membercard=False)
68
+        elif event == 'subscribe' or event == 'unsubscribe':
69
+            brand_id = settings.COMPONENT_CALLBACK_CONFIG[tousername]
70
+            r.rpushjson(SUBSCRIBE_USERINFO_LIST % brand_id, {
71
+                'brand_id': brand_id,
72
+                'openid': openid,
73
+            })
66 74
 
67 75
     # 腾龙服务号
68 76
     if event == 'user_get_card':

+ 4 - 0
kodo/settings.py

@@ -408,6 +408,10 @@ PHONE_2_ADMINISTRATIVE_DIVISION = 'https://www.baifubao.com/callback?cmd=1059&ca
408 408
 
409 409
 TESTING_SNS = ['000000']
410 410
 
411
+COMPONENT_CALLBACK_CONFIG = {
412
+    'tousername': 'brand_id',
413
+}
414
+
411 415
 # 开发调试相关配置
412 416
 if DEBUG:
413 417
     try:

+ 2 - 0
utils/redis/rkeys.py

@@ -71,3 +71,5 @@ BOX_PROGRAM_VERSION_INFO = 'box:program:version:info'  # STRING,BOX 程序版
71 71
 MINI_PROGRAM_GIS_LIST = 'tamron:miniprogram:gis:list'
72 72
 
73 73
 SCREEN_ADMIN_LOGIN = 'tamron:screen:admin:login:%s:%s'  # brand_id, token
74
+
75
+SUBSCRIBE_USERINFO_LIST = 'subscribe:userinfo:%s'